<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%--导入jstl核心库--%>
<%@taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
<div class="content-wrapper">

    <!-- 内容头部 -->
    <jsp:include page="header.jsp"/>
    <%--侧边栏--%>
    <jsp:include page="aside.jsp"/>

    <!-- 正文区域 -->
    <section class="content">

        <!-- .box-body -->
        <div class="box box-primary">
            <div class="box-header with-border">
                <h3 class="box-title">列表</h3>
            </div>

            <div class="box-body">

                <!-- 数据表格 -->
                <div class="table-box">

                    <!--工具栏-->
                    <div class="pull-left">
                        <div class="form-group form-inline">
                            <div class="btn-group">
                                <button type="button" class="btn btn-default" title="新建" onclick='location.href="all-order-manage-edit.html"'><i class="fa fa-file-o"></i> 新建</button>
                                <button type="button" class="btn btn-default" title="删除" onclick='confirm("你确认要删除吗？")'><i class="fa fa-trash-o"></i> 删除</button>
                                <button type="button" class="btn btn-default" title="开启" onclick='confirm("你确认要开启吗？")'><i class="fa fa-check"></i> 开启</button>
                                <button type="button" class="btn btn-default" title="屏蔽" onclick='confirm("你确认要屏蔽吗？")'><i class="fa fa-ban"></i> 屏蔽</button>
                                <button type="button" class="btn btn-default" title="刷新" onclick="window.location.reload();"><i class="fa fa-refresh"></i> 刷新</button>
                            </div>
                        </div>
                    </div>
                    <div class="box-tools pull-right">
                        <div class="has-feedback">
                            <input type="text" class="form-control input-sm" placeholder="搜索">
                            <span class="glyphicon glyphicon-search form-control-feedback"></span>
                        </div>
                    </div>
                    <!--工具栏/-->

                    <!--数据列表-->
                    <table id="dataList" class="table table-bordered table-striped table-hover dataTable">
                        <thead>
                        <tr>
                            <th class="" style="padding-right:0px;">
                                <input id="selall" type="checkbox" class="icheckbox_square-blue">
                            </th>
                            <th class="sorting_asc">ID</th>
                            <th class="sorting">订单编号</th>
                            <th class="sorting">订单名称</th>
                            <th class="sorting">金额</th>
                            <th class="sorting">下单时间</th>
                            <th class="sorting">订单状态</th>

                            <th class="text-center">操作</th>
                        </tr>
                        </thead>
                        <tbody>
                        <%--通过pageInfo Bean这个对象拿取我们需要的订单列表--%>
                        <c:forEach items="${pageInfo.list}" var="order">
                            <tr>
                                <td><input name="ids" type="checkbox"></td>
                                <td>
                                    ${order.id}
                                </td>
                                <td>${order.orderNum}</td>
                                <td>${order.orderDesc}</td>
                                <%--注意此处的产品价格封装到Product对象中，而这个数据在查询的时候封装到了Order对象中--%>
                                <td>${order.product.productPrice}</td>
                                <td>${order.orderTimeStr}</td>
                                <td>${order.orderStatusStr}</td>
                                <td class="text-center">
                                    <button type="button" class="btn bg-olive btn-xs" onclick='location.href="all-order-manage-edit.html"'>订单</button>
                                    <%--
                                        当用户点击详情按钮的时候，会发送一个请求到OrderController.java中的方法
                                        此时会将页面上订单的id返回到Controller层中的方法的参数中，Controller层调用Service层中的findById(id)方法
                                        ，然后Service层调用Dao层的findById实现订单的查询，在查询订单的详细信息时，实际上是一个多表查询，我们需要将产品信息
                                        和会员信息都查出来，在Order Bean中我们设置了Product类属性和Member类属性和List<Traveller>属性，分别来分装Product
                                        数据，Member数据和Traveller数据，稍微复杂一点的地方就在这里，然后再通过OrderController层返回模型和视图到页面上
                                        注意：在url地址上我需要添加订单id的参数，以便后台通过id来查询订单
                                    --%>
                                    <button type="button" class="btn bg-olive btn-xs" onclick='location.href="${pageContext.request.contextPath}/order/findById.do?id=${order.id}"'>详情</button>
                                    <button type="button" class="btn bg-olive btn-xs" onclick='location.href="all-order-manage-edit.html"'>编辑</button>
                                </td>
                            </tr>
                        </c:forEach>
                        </tbody>
                        <!--
                            <tfoot>
                            <tr>
                            <th>Rendering engine</th>
                            <th>Browser</th>
                            <th>Platform(s)</th>
                            <th>Engine version</th>
                            <th>CSS grade</th>
                            </tr>
                            </tfoot>-->
                    </table>
                    <!--数据列表/-->

                    <!--工具栏-->
                    <div class="pull-left">
                        <div class="form-group form-inline">
                            <div class="btn-group">
                                <button type="button" class="btn btn-default" title="新建" onclick='location.href="all-order-manage-edit.html"'><i class="fa fa-file-o"></i> 新建</button>
                                <button type="button" class="btn btn-default" title="删除" onclick='confirm("你确认要删除吗？")'><i class="fa fa-trash-o"></i> 删除</button>
                                <button type="button" class="btn btn-default" title="开启" onclick='confirm("你确认要开启吗？")'><i class="fa fa-check"></i> 开启</button>
                                <button type="button" class="btn btn-default" title="屏蔽" onclick='confirm("你确认要屏蔽吗？")'><i class="fa fa-ban"></i> 屏蔽</button>
                                <button type="button" class="btn btn-default" title="刷新" onclick="window.location.reload();"><i class="fa fa-refresh"></i> 刷新</button>
                            </div>
                        </div>
                    </div>
                    <div class="box-tools pull-right">
                        <div class="has-feedback">
                            <input type="text" class="form-control input-sm" placeholder="搜索">
                            <span class="glyphicon glyphicon-search form-control-feedback"></span>
                        </div>
                    </div>
                    <!--工具栏/-->

                </div>
                <!-- 数据表格 /-->

            </div>
            <!-- /.box-body -->

            <!-- .box-footer-->
            <div class="box-footer">
                <div class="pull-left">
                    <div class="form-group form-inline">
                        总共2 页，共14 条数据。 每页
                        <%--设置一个id属性，方便js来获取改变的分页大小--%>
                        <select class="form-control" onclick="changPageSize()" id="changPageSize">
                            <option>10</option>
                            <option>15</option>
                            <option>20</option>
                            <option>50</option>
                            <option>80</option>
                        </select> 条
                    </div>
                </div>

                <div class="box-tools pull-right">
                    <ul class="pagination">
                        <li>
                            <a href="${pageContext.request.contextPath}/orders/findAll.do?page=1&size=${pageInfo.pageSize}" aria-label="Previous">首页</a>
                        </li>
                        <li><a href="${pageContext.request.contextPath}/orders/findAll.do?page=${pageInfo.pageNum-1}&size=${pageInfo.pageSize}">上一页</a></li>
                        <%--索引 1为起始，总页数为结束 变量名为pageNum--%>
                        <c:forEach begin="1" end="${pageInfo.pages}" var="pageNum">
                            <li><a href="${pageContext.request.contextPath}/orders/findAll.do?page=${pageNum}&size=${pageInfo.pageSize}">${pageNum}</a></li>
                        </c:forEach>
                        <li><a href="${pageContext.request.contextPath}/orders/findAll.do?page=${pageInfo.pageNum+1}&size=${pageInfo.pageSize}">下一页</a></li>
                        <li>
                            <a href="${pageContext.request.contextPath}/orders/findAll.do?page=${pageInfo.pages}&size=${pageInfo.pageSize}" aria-label="Next">尾页</a>
                        </li>
                    </ul>
                </div>

            </div>
            <!-- /.box-footer-->


        </div>

    </section>
    <!-- 正文区域 /-->

</div>

<script>
    $(document).ready(function() {

        // 修改分页大小的js方法
        function changePageSize() {
            // 获取用户选择的分页大小
            var pageSize = $("#changPageSize").val();
            // 修改订单查询的url地址的参数
            location.href="${pageContext.request.contextPath}/order/findAll.do?page=1&size=" + pageSize;
        }

        // 激活导航位置
        setSidebarActive("order-manage");

        // 列表按钮
        $("#dataList td input[type='checkbox']").iCheck({
            checkboxClass: 'icheckbox_square-blue',
            increaseArea: '20%'
        });
        // 全选操作
        $("#selall").click(function() {
            var clicks = $(this).is(':checked');
            if (!clicks) {
                $("#dataList td input[type='checkbox']").iCheck("uncheck");
            } else {
                $("#dataList td input[type='checkbox']").iCheck("check");
            }
            $(this).data("clicks", !clicks);
        });
    });
</script>
